package com.ruoyi.ora.domain;

import java.util.List;

public class ChatRequest {

    private String model;
    private List<Message> messages;
    private Double temperature;
    private Integer max_tokens;

    // TODO 还有好多参数，这里只列举几个常用的


    public static class Message<T> {
        private String role;
        private T content;

        public String getRole() {
            return role;
        }

        public void setRole(String role) {
            this.role = role;
        }

        public T getContent() {
            return content;
        }

        public void setContent(T content) {
            this.content = content;
        }
    }

    public static class Content{
        private String type;
        private String text;
        private Image image_url;

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }
        public Image getImage_url() {
            return image_url;
        }

        public void setImage_url(Image image_url) {
            this.image_url = image_url;
        }
    }

    public class Image{
        private String url;
        public Image(String url) {
            this.url = url;
        }
        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public List<Message> getMessages() {
        return messages;
    }

    public void setMessages(List<Message> messages) {
        this.messages = messages;
    }

    public Double getTemperature() {
        return temperature;
    }

    public void setTemperature(Double temperature) {
        this.temperature = temperature;
    }

    public Integer getMax_tokens() {
        return max_tokens;
    }

    public void setMax_tokens(Integer max_tokens) {
        this.max_tokens = max_tokens;
    }
}
